Refining Abstract Interpretation-based Approximations with a Floating-point Constraint Solver

نویسندگان

  • Olivier Ponsini
  • Claude Michel
  • Michel Rueher
چکیده

Floating-point arithmetic differs from real arithmetic, which makes programming with floating-point numbers tricky. Estimating the precision of a floating-point computation in a program, i.e., estimating the difference with the result of the same sequence of operations in an idealized real number semantics, is then necessary. Tools like Fluctuat, based on abstract interpretation, have been designed to address this problem. However, these tools compute an over-approximation of the domains of the floating-point variables that may be very coarse on some tricky programs. In this paper, we use a constraint solver over floatingpoint numbers to refine the over-approximation computed by Fluctuat and reduce the domains of floating-point variables. Our approach could be successfully applied to C programs that are difficult for abstract interpretation techniques as implemented in Fluctuat.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Refining Abstract Interpretation-based Approximations with Constraint Solvers

Programs with floating-point computations are tricky to develop because floating-point arithmetic differs from real arithmetic and has many counterintuitive properties. A classical approach to verify such programs consists in estimating the precision of floating-point computations with respect to the same sequence of operations in an idealized semantics of real numbers. Tools like Fluctuat—base...

متن کامل

Refining Abstract Interpretation Based Value Analysis with Constraint Programming Techniques

Abstract interpretation based value analysis is a classical approach for verifying programs with floating-point computations. However, state-of-the-art tools compute an over-approximation of the variable values that can be very coarse. In this paper, we show that constraint solvers can significantly refine the approximations computed with abstract interpretation tools. We introduce a hybrid app...

متن کامل

Utilisation de solveurs de contraintes pour réduire les approximations produites par interprétation abstraite

Programs with floating-point computations are tricky to develop because floating-point arithmetic differs from real arithmetic and has many counterintuitive properties. A classical approach to verify such programs consists in estimating the precision of floatingpoint computations with respect to the same sequence of operations in an idealized semantics of real numbers. Tools like Fluctuat—based...

متن کامل

Exploring Approximations for Floating-Point Arithmetic using UppSAT

We consider the problem of solving floating-point constraints obtained from software verification. We present UppSAT — an new implementation of a systematic approximation refinement framework [24] as an abstract SMT solver. Provided with an approximation and a decision procedure (implemented in an off-the-shelf SMT solver), UppSAT yields an approximating SMT solver. Additionally, UppSAT yieldsi...

متن کامل

Symbolic execution of floating-point computations

Symbolic execution is a classical program testing technique which evaluates a selected control flow path with symbolic input data. A constraint solver can be used to enforce the satisfiability of the extracted path conditions as well as to derive test data. Whenever path conditions contain floating-point computations, a common strategy consists of using a constraint solver over the rationals or...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011